dxp-ux

(0 reviews)

e-bill ( TMF 622 , TMF 666)

POST/ProductOrder, PATCH/billingAccount/id resources is used to turn On or Off e-bill entity.

URL

https://[localhost]:[port]/dxp-ux/v1/{businessId}/productOrder
https://[localhost]:[port]/dxp-ux/v1/{businessId}/billingAccount/{id} Fixed integration
https://[localhost]:[port]/dxp-ux/v1/{businessId}/billingAccount/{id} towards Salesforce integration

URI PARAMS

NameTypeM/ODescription
businessIdstringMbusinessId string M Business unit identifier. Example: “JM”, ”PA”, ”PR”, ”CR”
IdStringMorderId of the customer
namevaluedescriptionrequired
client-idstringThe client_id identifying the channel. Minimum characters: 5Y
client-secretstringPassword associated with the client_id. Minimum characters: 5Y
channelIdstringchannelId to identify the business group.
Expected APP
Y
lobstringThe Line of Business Identifier currently available are:PREPAID, POSTPAID,FIXEDN

Request

Note If the customer need to enable paper bill (disable ebill), in the request productOrderItem.action need to be pass as add and if need to disable the paper bill(enable ebill) pass productOrderItem.action as delete

{
    "category": "RES",
    "@type": "ProductOrder",
    "note": [
        {
            "text": "NT",
            "@type": "OrderReasonCode"
        },
        {
            "text": "ECO",
            "@type": "CampaignCode"
        }
   ],
    "relatedParty": [
        {
            "id": "1901502677899",
            "name": "CARLEY BURKE",
            "@referredType": "Customer"
        }
    ],
     "billingAccount":
        {
            "id": "8211990010042406",
            "@type": "BillingAccount"
        },
    "productOrderItem": [
        {
            "id": "ZMPBI",
            "quantity": 1,
            "action": "add",
            "product": {
                "id": "ZMPBI",
                "isBundle": false,
                "@type": "Product",
                "productCharacteristic": [
                    {
                        "name": "ServiceType",
                        "valueType": "string",
                        "value": "NU"
                    }
                ]
            },
             "@type": "AddonProduct"
        }
    ],
    "orderCharacteristics": {
        "salesRepId": "54321"
    },
    "serviceAddress": {
        "addrNo": "00622000000001"
    }
}
Definitions

Each of the parameters is detailed.

nametypedescriptionrequired
categoryStringUsed to categorize the order from a business perspective that can be useful for the OM system (e.g. "enterprise", "residential", ...).N
@typeStringtype value defined as ProductOrderN
notearrayExtra information about a given entityN
note.textStringText of the note.N
note.@typeStringDefines type as OrderReasonCode and default value is 'NT'N
note.textStringText of the note.N
note.@typeStringDefines type as CampaignCode and default value is 'ECO.N
relatedPartyarrayRelated Entity reference. A related party defines party or party role linked to a specific entity.N
relatedParty.idStringUnique identifier Id of the related entity.N
relatedParty.nameStringName of the related entity..N
relatedParty@referredTypeStringThe actual type of the target instance when needed for disambiguation.Y
billingAccountarray
billingAccount.idStringUnique identifier Id of the EntityRefN
billingAccount.@typeStringWhen sub-classing, this defines the sub-class entity nameN
productOrderItem.idStringIdentifier of the line item (generally it is a sequence number 01, 02, 03...)Y
productOrderItem.quantityInt32Quantity ordered.N
productOrderItem.actionStringThe action is used to ON or OFF eBill. Can be: add, delete.Y
productOrderItem.productObject ArrayA product to be created defined by value or existing defined by reference.N
productOrderItem.product.idStringUnique identifier of the product.N
productOrderItem.product.isBundleBooleanIf true, the product is a ProductBundle which is an instantiation of a BundledProductOffering. If false, the product is a ProductComponent which is an instantiation of a SimpleProductOfferingN
productOrderItem.product.@typeStringWhen sub-classing, this defines the sub-class entity nameN
productOrderItem.product.productCharacteristicObject ArrayDescribes a given characteristic of an object or entity through a name/value pair.N
productOrderItem.product.productCharacteristic.nameStringName of the characteristicY
productOrderItem.product.productCharacteristic.valueTypeStringData type of the value of the characteristicN
productOrderItem.product.productCharacteristic.valueanyThe value of the characteristicN
productOrderItem.product.productCharacteristic.@typeStringWhen sub-classing, this defines the sub-class entity nameN
Statusstringenum:
- acknowledged
N

Response

{
    "category": "RES",
    "@type": "ProductOrder",
    "note": [
        {
            "text": "NT",
            "@type": "OrderReasonCode"
        },
        {
            "text": "ECO",
            "@type": "CampaignCode"
        }
    ],
    "relatedParty": [
        {
            "id": "1901502677899",
            "name": "CARLEY BURKE",
            "@referredType": "Customer"
        }
    ],
    "billingAccount": {
        "id": "8211990010042406",
        "@type": "BillingAccount"
    },
    "productOrderItem": [
        {
            "id": "ZMPBI",
            "quantity": 1,
            "action": "add",
            "product": {
                "id": "ZMPBI",
                "isBundle": false,
                "@type": "Product",
                "productCharacteristic": [
                    {
                        "name": "ServiceType",
                        "valueType": "string",
                        "value": "NU"
                    }
                ]
            },
            "@type": "AddonProduct"
        }
    ],
    "orderCharacteristics": {
        "salesRepId": "54321"
    },
    "serviceAddress": {
        "addrNo": "00622000000001"
    },
    "state": "acknowledged"
}

PATCH/billingAccount/id

[ 200 ] FIXED

OK - updateBillingAccount request processed successfully, response body contains an entity corresponding to the requested resource.

Request
{
    "billStructure": {
        "presentationMedia": [
            {
                "name": "email"
            }
        ]
    }
}
Response
{
    "id": "8211990010042315",
    "state": "acknowledged",
    "billStructure": {
        "presentationMedia": [
            {
                "name": "email"
            }
        ]
    }
}
FIXED Definitions
namevaluedescriptionrequired
idstringunique identifierY
statestringstate of the operationY
billStructureObjectbill structure objectY
billStructure.presentationMediaArraydetails of presentation media.Y
billStructure.presentationMedia.nameStringName of the referred entity.Possible values are
email
mail
Y

Enable Ebill towards Salesforce PATCH: /billingAccount/id

URI PARAMS
nametypedescriptionrequired
businessIdstring2 letter ISO 3166 country code (TT, BB, JM, PA, PR, CR etc.) identifying the business unit.Y
Idstringbilling account number (BAN-CAN)Y
namevaluedescriptionrequired
client-idstringThe client_id identifying the channel. Minimum characters: 5Y
client-secretstringPassword associated with the client_id. Minimum characters: 5Y
X-Correlation-IDstringIdentifier that correlates HTTP request between a client and server.
Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction.
Y
Request
curl --location --request PATCH 'https://nonprod.esb.cloud.lla.com/sit/dxp-ux/dxp-ux/v1/PR/billingAccount/23541002-23542358' \
--header 'X-Correlation-ID: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2gk' \
--header 'client_id: 7d27970a9bad4bd4834972717bdaf063' \
--header 'client_secret: Cc779B6BA97e440985679B96f52812cC' \
--header 'Content-Type: application/json' \
--data-raw '{
    "relatedParty": [
        {
            "id": "12218008837",
            "@type": "msisdn"
        },
        {
            "@type": "CHANNEL",
            "name": "DIGITAL"
        }
    ],
    "billStructure": {
        "presentationMedia": [
            {
                "@type": "non-eBill"
            }
        ]
    }
}'
Definitions
namevaluedescriptionrequired
relatedPartysarrayA list of related partiesY
relatedParty.idstringUnique identifier of a related entityY
relatedParty.namestringName of the related entity.Y
relatedParty.@typestringType of relatedPartyY
billStructureobjectA bill structureY
billStructure.presentationMediaarrayA list of bill presentation media ref or valuesY
billStructure.presentationMedia.@typestringeBill Flag indicator, either non-eBill / eBillY
relatedParty values
namevalue (length)descriptionrequired
msisdnstring (20)Mobile Device numberN
CHANNELstring (20)Source System information for tracking purpose: possible values are IVR/DigitalY
Response

In this section all the possible data structures received by the client at the moment of responding the method are defined.

Possible response success

This section defines all the possible data structures received by the client and that must be considered satisfactory at the time of responding to the method.

[ 200 ]

OK - updateBillingAccount request processed successfully, response body contains an entity corresponding to the requested resource.

{
    "status": 200,
    "description": "Request to update the Ebill Flag received"
}
Definitions
namevaluedescriptionrequired
statusstringresponse status codeN
descriptionstringresponse messageN
Possible response error

In this section all the possible data structures received by the client are defined and that must be considered as unsatisfactory when responding to the method.

[ 400 ]

Bad Request - the request could not be understood by the server due to invalid OrderId of the customer.

{
    "errors": [
        {
            "code": 400,
            "message": "ERROR:INVALIDID",
            "description": "OrderId for the Customer does not exist 1200034465921019"
        }
    ]
}
[ 404 ]

Not Found - server has not found a resource with that URI. This may be temporary and permanent condition. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.

{
  "errors" : [{
      "code" : 404,
      "message" : "The primary device not found in the backend system",
      "description" : "The requested operation failed because the primary device in the backend system could not be found."
    }
  ]
}
[ 500 ]

Internal Server Error - server encountered an error processing request. This should not happen normally, but it is a generic error message, given when no more specific message is suitable.

{
  "errors" : [{
      "code" : 500,
      "message" : "The request failed due to an internal error.",
      "description": "error description"
    }
  ]
}

Reviews